home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!zephyr.ens.tek.com!master!saab!billr
- From: billr@saab.CNA.TEK.COM (Bill Randle)
- Newsgroups: comp.sources.games
- Subject: v13i065: cdungeon - C language port of DECUS dungeon, Patch1a
- Message-ID: <2638@master.CNA.TEK.COM>
- Date: 23 Mar 92 21:10:53 GMT
- Sender: news@master.CNA.TEK.COM
- Lines: 442
- Approved: billr@saab.CNA.TEK.COM
-
- Submitted-by: ian@airs.COM (Ian Lance Taylor)
- Posting-number: Volume 13, Issue 65
- Archive-name: cdungeon/Patch1a
- Patch-To: cdungeon: Volume 12, Issue 68-80
- Environment:
-
-
- Here are some patches to cdungeon, the C version of the old dungeon
- game. To install these, go to the source directory and use the patch
- program, giving this file as the standard input.
-
- There is also a new version of the database. Unfortunately, the
- uuencoded files are completely different, so a new copy follows in the
- next four postings. Take the four files, replace the existing
- dtextc.uu? files in the source directory, and type ``make
- dtextc.dat''. This will create a new version of the database.
-
- Changes:
-
- Slight improvements to help text and manual.
-
- Amiga support from Ethan Dicks (erd@cis.ohio-state.edu).
-
- Fix to prevent PROGRAM ERROR 70.
-
- Set light bit on river, turned it off in puzzle.
-
- Made Up a Tree and Small Room sacred.
-
- Made attempt to inflate boat with only one tool less cryptic.
-
- Set burn bit for timbers.
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 1 (of 5)."
- # Contents: patches01
- # Wrapped by billr@saab on Mon Mar 23 13:05:34 1992
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'patches01' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'patches01'\"
- else
- echo shar: Extracting \"'patches01'\" \(10155 characters\)
- sed "s/^X//" >'patches01' <<'END_OF_FILE'
- Xdiff -c 1.0/MANIFEST 1.1/MANIFEST
- X*** 1.0/MANIFEST Sun May 5 13:22:11 1991
- X--- 1.1/MANIFEST Wed Nov 20 10:31:08 1991
- X***************
- X*** 1,9 ****
- X--- 1,11 ----
- X History
- X Makefile
- X Makefile.MSC
- X+ Makefile.amiga
- X README
- X MANIFEST
- X dungeon.6
- X+ dungeon.lnk
- X funcs.h
- X parse.h
- X vars.h
- Xdiff -c 1.0/Makefile 1.1/Makefile
- X*** 1.0/Makefile Sun May 5 15:30:05 1991
- X--- 1.1/Makefile Wed Nov 20 12:06:51 1991
- X***************
- X*** 45,51 ****
- X CFLAGS = -O
- X # On SCO Unix Development System 3.2.2a, the const type qualifier does
- X # not work correctly when using cc. The following line will cause it
- X! # to not be used and should be uncommented.
- X # CFLAGS= -O -Dconst=
- X
- X ##################################################################
- X--- 45,52 ----
- X CFLAGS = -O
- X # On SCO Unix Development System 3.2.2a, the const type qualifier does
- X # not work correctly when using cc. The following line will cause it
- X! # to not be used and should be uncommented. This is also required
- X! # by some other systems.
- X # CFLAGS= -O -Dconst=
- X
- X ##################################################################
- X*** /dev/null Wed Nov 20 12:06:51 1991
- X--- Makefile.amiga Wed Nov 20 12:06:51 1991
- X***************
- X*** 0 ****
- X--- 1,162 ----
- X+ # Makefile for dungeon for Lattice/SAS C
- X+ # by Ethan Dicks (erd@cis.ohio-state.edu) 22-May-1991
- X+
- X+ # Define compiler and linker
- X+ CC = lc
- X+ LINK = blink
- X+
- X+ # The dungeon program provides a ``more'' facility which tries to
- X+ # figure out how many rows the terminal has. Several mechanisms are
- X+ # supported for determining this; the most common one has been left
- X+ # uncommented. If you have trouble, especially when linking, you may
- X+ # have to select a different option.
- X+
- X+ # more option 1: use the termcap routines. On some systems the LIBS
- X+ # variable may need to be set to -lcurses. On some it may need to
- X+ # be /usr/lib/termcap.o. These options are commented out below.
- X+ #LIBS = -ltermcap
- X+ #TERMFLAG =
- X+ # LIBS = -lcurses
- X+ # LIBS = /usr/lib/termcap.o
- X+
- X+ # more option 2: use the terminfo routines. On some systems the LIBS
- X+ # variable needs to be -lcursesX, but probably all such systems support
- X+ # the termcap routines (option 1) anyhow.
- X+ # LIBS = -lcurses
- X+ # TERMFLAG = -DMORE_TERMINFO
- X+
- X+ # more option 3: assume all terminals have 24 rows
- X+ LIBS =
- X+ TERMFLAG = -DMORE_24
- X+
- X+ # more option 4: don't use the more facility at all
- X+ # LIBS =
- X+ # TERMFLAG = -DMORE_NONE
- X+
- X+ # End of more options
- X+
- X+ # Uncomment the following line if you want to have access to the game
- X+ # debugging tool. This is invoked by typing "gdt". It is not much
- X+ # use except for debugging.
- X+ # GDTFLAG = -DALLOW_GDT
- X+
- X+ # Compilation flags
- X+ # On Lattice C 5.0x, the const type qualifier does not work correctly
- X+ # when using lc.
- X+ CFLAGS= -Dconst= -O
- X+
- X+ ##################################################################
- X+
- X+ # Source files
- X+ CSRC = actors.c ballop.c clockr.c demons.c dgame.c dinit.c dmain.c\
- X+ dso1.c dso2.c dso3.c dso4.c dso5.c dso6.c dso7.c dsub.c dverb1.c\
- X+ dverb2.c gdt.c lightp.c local.c nobjs.c np.c np1.c np2.c np3.c\
- X+ nrooms.c objcts.c rooms.c sobjs.c supp.c sverbs.c verbs.c villns.c
- X+
- X+ # Object files
- X+ OBJS = actors.o ballop.o clockr.o demons.o dgame.o dinit.o dmain.o\
- X+ dso1.o dso2.o dso3.o dso4.o dso5.o dso6.o dso7.o dsub.o dverb1.o\
- X+ dverb2.o gdt.o lightp.o local.o nobjs.o np.o np1.o np2.o np3.o\
- X+ nrooms.o objcts.o rooms.o sobjs.o supp.o sverbs.o verbs.o villns.o
- X+
- X+ dungeon: $(OBJS)
- X+ $(LINK) with dungeon.lnk
- X+
- X+ dinit.o: dinit.c funcs.h vars.h
- X+ $(CC) $(CFLAGS) $(GDTFLAG) dinit.c
- X+
- X+ dgame.o: dgame.c funcs.h vars.h
- X+ $(CC) $(CFLAGS) $(GDTFLAG) dgame.c
- X+
- X+ gdt.o: gdt.c funcs.h vars.h
- X+ $(CC) $(CFLAGS) $(GDTFLAG) gdt.c
- X+
- X+ local.o: local.c funcs.h vars.h
- X+ $(CC) $(CFLAGS) $(GDTFLAG) local.c
- X+
- X+ supp.o: supp.c funcs.h vars.h
- X+ $(CC) $(CFLAGS) $(TERMFLAG) supp.c
- X+
- X+ actors.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) actors.c
- X+
- X+ ballop.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) ballop.c
- X+
- X+ clockr.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) clockr.c
- X+
- X+ demons.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) demons.c
- X+
- X+ dmain.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) dmain.c
- X+
- X+ dso1.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) dso1.c
- X+
- X+ dso2.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) dso2.c
- X+
- X+ dso3.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) dso3.c
- X+
- X+ dso4.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) dso4.c
- X+
- X+ dso5.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) dso5.c
- X+
- X+ dso6.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) dso6.c
- X+
- X+ dso7.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) dso7.c
- X+
- X+ dsub.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) dsub.c
- X+
- X+ dverb1.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) dverb1.c
- X+
- X+ dverb2.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) dverb2.c
- X+
- X+ lightp.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) lightp.c
- X+
- X+ nobjs.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) nobjs.c
- X+
- X+ np.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) np.c
- X+
- X+ np1.o: funcs.h vars.h parse.h
- X+ $(CC) $(CFLAGS) np1.c
- X+
- X+ np2.o: funcs.h vars.h parse.h
- X+ $(CC) $(CFLAGS) np2.c
- X+
- X+ np3.o: funcs.h vars.h parse.h
- X+ $(CC) $(CFLAGS) np3.c
- X+
- X+ nrooms.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) nrooms.c
- X+
- X+ objcts.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) objcts.c
- X+
- X+ rooms.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) rooms.c
- X+
- X+ sobjs.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) sobjs.c
- X+
- X+ sverbs.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) sverbs.c
- X+
- X+ verbs.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) verbs.c
- X+
- X+ villns.o: funcs.h vars.h
- X+ $(CC) $(CFLAGS) villns.c
- Xdiff -c 1.0/README 1.1/README
- X*** 1.0/README Mon May 6 20:56:55 1991
- X--- 1.1/README Wed Nov 20 10:33:31 1991
- X***************
- X*** 8,14 ****
- X although you may want to change BINDIR and LIBDIR. On SCO UNIX see
- X the note at the definition of CFLAGS. Makefile.MSC should work for
- X MS-DOS using Microsoft C. It was contributed by Jonathan Mark
- X! (uunet!microsoft!jonm).
- X
- X To compile and link dungeon, type make. To install it in BINDIR and
- X LIBDIR, type make install.
- X--- 8,16 ----
- X although you may want to change BINDIR and LIBDIR. On SCO UNIX see
- X the note at the definition of CFLAGS. Makefile.MSC should work for
- X MS-DOS using Microsoft C. It was contributed by Jonathan Mark
- X! (uunet!microsoft!jonm). Makefile.amiga should work for the Amiga
- X! using Lattice/SAS C. It was contributed by Ethan Dicks
- X! (erd@cis.ohio-state.edu).
- X
- X To compile and link dungeon, type make. To install it in BINDIR and
- X LIBDIR, type make install.
- X***************
- X*** 88,92 ****
- X--- 90,96 ----
- X dungeon.6 -man page
- X Makefile -Makefile
- X Makefile.MSC -Makefile for MS-DOS and Microsoft C
- X+ Makefile.amiga -Makefile for AMIGA
- X+ dungeon.lnk -Linker commands for AMIGA
- X History -Some revision history notes
- X README -This file
- Xdiff -c 1.0/dinit.c 1.1/dinit.c
- X*** 1.0/dinit.c Mon Mar 11 19:11:34 1991
- X--- 1.1/dinit.c Wed Nov 20 10:26:30 1991
- X***************
- X*** 26,32 ****
- X--- 26,36 ----
- X #ifdef unix
- X #define TEXTFILE "/usr/games/lib/dunlib/dtextc.dat"
- X #else /* ! unix */
- X+ #ifdef AMIGA
- X+ #define TEXTFILE "dungeon:dtextc.dat"
- X+ #else /* ! AMIGA */
- X I need a definition for TEXTFILE
- X+ #endif /* ! AMIGA */
- X #endif /* ! unix */
- X #endif /* ! __AMOS__ */
- X #endif /* ! TEXTFILE */
- X*** 1.0/dungeon.6 Sun May 5 13:29:16 1991
- X--- 1.1/dungeon.6 Wed Nov 20 12:50:15 1991
- X***************
- X*** 175,180 ****
- X--- 175,184 ----
- X Fairly general forms of these may be used, such as
- X .I pick up, put down,
- X etc.
- X+ .I board
- X+ and
- X+ .I disembark
- X+ may be used with certain objects.
- X .TP
- X .B Directions:
- X .I north, south, up, down,
- X***************
- X*** 181,187 ****
- X etc. and their various abbreviations.
- X Other more obscure directions
- X .RI ( land,
- X! .IR cross )
- X are appropriate in only certain situations.
- X .TP
- X .B Objects:
- X--- 185,193 ----
- X etc. and their various abbreviations.
- X Other more obscure directions
- X .RI ( land,
- X! .IR cross,
- X! .IR walk
- X! .IR through )
- X are appropriate in only certain situations.
- X .TP
- X .B Objects:
- X*** /dev/null Wed Nov 20 10:48:15 1991
- X--- 1.1/dungeon.lnk Wed Nov 20 10:48:15 1991
- X***************
- X*** 0 ****
- X--- 1,13 ----
- X+ FROM lib:c.o
- X+ actors.o ballop.o clockr.o demons.o
- X+ dgame.o dinit.o dmain.o
- X+ dso1.o dso2.o dso3.o dso4.o
- X+ dso5.o dso6.o dso7.o dsub.o dverb1.o
- X+ dverb2.o gdt.o lightp.o local.o
- X+ nobjs.o np.o np1.o np2.o np3.o
- X+ nrooms.o objcts.o rooms.o sobjs.o
- X+ supp.o sverbs.o verbs.o villns.o
- X+
- X+ LIBRARY lib:lc.lib lib:amiga.lib
- X+
- X+ TO dungeon
- Xdiff -c 1.0/dverb2.c 1.1/dverb2.c
- X*** 1.0/dverb2.c Mon Mar 11 19:16:59 1991
- X--- 1.1/dverb2.c Wed Nov 20 10:48:15 1991
- X***************
- X*** 73,78 ****
- X--- 73,81 ----
- X
- X do_uio(200, &rooms_1.rval[0], sizeof(integer));
- X do_uio(200, &rooms_1.rflag[0], sizeof(integer));
- X+ /* ILT 11/20/91 Save the ractio array as well, since otherwise
- X+ a change to rrand can confuse the restored game. */
- X+ do_uio(200, &rooms_1.ractio[0], sizeof(integer));
- X
- X do_uio(4, &advs_1.aroom[0], sizeof(integer));
- X do_uio(4, &advs_1.ascore[0], sizeof(integer));
- X***************
- X*** 165,170 ****
- X--- 168,176 ----
- X
- X do_uio(200, &rooms_1.rval[0], sizeof(integer));
- X do_uio(200, &rooms_1.rflag[0], sizeof(integer));
- X+ /* ILT 11/20/91 If this is 2.7B, the ractio array was also saved. */
- X+ if (k != 'A')
- X+ do_uio(200, &rooms_1.ractio[0], sizeof(integer));
- X
- X do_uio(4, &advs_1.aroom[0], sizeof(integer));
- X do_uio(4, &advs_1.ascore[0], sizeof(integer));
- Xdiff -c 1.0/funcs.h 1.1/funcs.h
- X*** 1.0/funcs.h Mon Mar 11 19:07:10 1991
- X--- 1.1/funcs.h Wed Nov 20 10:26:46 1991
- X***************
- X*** 40,47 ****
- X--- 40,50 ----
- X #define TRUE_ (1)
- X #define FALSE_ (0)
- X
- X+ #undef abs
- X #define abs(x) ((x) >= 0 ? (x) : -(x))
- X+ #undef min
- X #define min(a,b) ((a) <= (b) ? (a) : (b))
- X+ #undef max
- X #define max(a,b) ((a) >= (b) ? (a) : (b))
- X
- X extern logical
- Xdiff -c 1.0/vars.h 1.1/vars.h
- X*** 1.0/vars.h Tue Mar 12 16:58:37 1991
- X--- 1.1/vars.h Wed Nov 20 10:44:48 1991
- X***************
- X*** 355,361 ****
- X integer vmaj, vmin, vedit;
- X } vers_
- X #ifdef INIT
- X! = { 2, 7, 'A' }
- X #endif
- X ;
- X
- X--- 355,361 ----
- X integer vmaj, vmin, vedit;
- X } vers_
- X #ifdef INIT
- X! = { 2, 7, 'B' }
- X #endif
- X ;
- X
- X
- END_OF_FILE
- if test 10155 -ne `wc -c <'patches01'`; then
- echo shar: \"'patches01'\" unpacked with wrong size!
- fi
- # end of 'patches01'
- fi
- echo shar: End of archive 1 \(of 5\).
- cp /dev/null ark1isdone
- MISSING=""
- for I in 1 2 3 4 5 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 5 archives.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-